Security devices for protecting computer software are well known in the prior art. One such device, generally known as a "key" or dongle, is provided with some licensed computer software to prevent software piracy. The key is an I/O device which attaches to the parallel port, serial port, or small computer system interface (SCSI) port of a computer and includes a memory circuit with a stored, encrypted algorithm, such as a password or serial number. During initial installation of the protected program, the encrypted password is stored as a boot patch within the computer. The stored password, perhaps a serial number, looks for an associated password during each supported program initialization process to ascertain whether the correct key is attached properly to the computer system. Initialization of the program is disallowed unless the key password is compared and found to be associated with the stored password.
A number of drawbacks and limitations exist while using current "keys". First, keys generally are installed in the first parallel port, LPT 1, which typically is used for installation and operation of printers and other peripherals. Keys frequently interfere with the use of printers by causing the host computer to receive a busy signal when addressing LPT1.
Additionally, keys are a nuisance because they generally are installed externally and extend outward from LPT 1. Such external installation is cumbersome and prevents, for all practical purposes, installation of more than one key at a time. Increased concerns with ensuring compliance with software licensing has lead to the need to install more than one key.
A heretofore unmet need exists for a method and apparatus enabling internal mounting of multiple, nestable keys, or secure external mounting of such keys, without interfering with operation of LPT1 for other operations, particularly printing operations.